package com.moli.iov.admin.model.vo.req;

import com.moli.iov.base.model.dto.req.TboxUpgradeFileReqDto;
import java.util.Date;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * The type Tbox upgrade file req vo.
 *
 * @author wanghualin
 * @date 2019 -10-09 20:35:14
 */
@Data
public class TboxUpgradeFileReqVo extends BaseVo  {
  /**
   * 主键
   */
  @NotNull(message = "id不能为空",groups = {Update.class,Delete.class,Details.class})
  private Long id;

  /**
   * 车辆品牌对应字典code,如北汽新能源
   */
  @NotBlank(message = "品牌不能为空",groups ={Update.class,Save.class} )
  private String vehicleBand;

  /**
   * 某车型的车系对应字典code，如北汽新能源的EC220
   */
  @NotBlank(message = "车系不能为空",groups ={Update.class,Save.class} )
  private String vehilceSeries;

  /**
   * 某车型的车车型对应的款式字典code，如北汽新能源的EC220的精英款
   */
  @NotBlank(message = "车型不能为空",groups ={Update.class,Save.class} )
  private String vehicleStyle;

  /**
   * tbox生产商,对应的字典code
   */
  @NotBlank(message = "tbox生产商不能为空",groups ={Update.class,Save.class} )
  private String tboxManufacturer;

  /**
   * tbox型号,对应的字典code
   */
  @NotBlank(message = "tbox型号不能为空",groups ={Update.class,Save.class} )
  private String tboxModel;

  /**
   * tbox硬件版本号,对应字典的code
   */
  @NotBlank(message = "tbox硬件版本号不能为空",groups ={Update.class,Save.class} )
  private String tboxVersion;

  /**
   * 软件版本号
   */
  @NotBlank(message = "软件版本号不能为空",groups ={Update.class,Save.class} )
  private String softwareVersion;

  /**
   * 升级文件的url
   */
  @NotBlank(message = "url不能为空",groups ={Update.class,Save.class} )
  private String fileUrl;

  /**
   * 公司id
   */
  @NotNull(message = "公司id不能为空",groups ={Update.class,Save.class} )
  private Long companyId;

  /**
   * 公司名称
   */
  @NotNull(message = "公司名称不能为空",groups ={Update.class,Save.class} )
  private String companyName;

  /**
   * 创建时间
   */
  private Date gmtCreate;

  /**
   * 更新时间
   */
  private Date gmtModified;

  /**
   * 删除时候的操作说明
   */
  private String operatorDecription;

  /**
   * 删除标志。0，未删除；1已删除
   */
  private Integer isDelete;

  /**
   * 创建人
   */
  private String createUser;


  /**
   * 修改人
   */
  private String modifiedUser;



  public interface Update {

  }

  public interface Delete {

  }
  public interface Save {

  }

  /**
   * 详情
   */
  public interface Details {

  }
}
